package com.zzl.finance.data.dto;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zzl.apidoc.annotation.ApidocModel;
import com.zzl.apidoc.annotation.ApidocModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author gull
 * @date 2021-11-09 20:04:58
 */
@Data
@TableName("b_enterprise")
@ApidocModel
@SuppressWarnings("javadoc")
public class EnterprisePage implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.UUID)
    @ApidocModelProperty(description = "主键")
    private String id;
    @ApidocModelProperty(description = "企业名称")
    private String enterpriseName;
    @ApidocModelProperty(description = "社会统一代码")
    private String socialCreditCode;
    @ApidocModelProperty(description = "获客渠道,0 自荐")
    private String customerChannel;
    @ApidocModelProperty(description = "企业类别0.核心企业1.供应商，2集团")
    private Integer category;
    @ApidocModelProperty(description = "企业类型")
    private String categoryName;
    @ApidocModelProperty(description = "数据来源 0自建,1注册")
    private String dataChannel;
    @ApidocModelProperty(description = "上链地址")
    private String chainAddress;

    @ApidocModelProperty(description = "企业冻结状态，0未冻结 1 冻结")
    private Integer  enterpriseFreezingStatus;
    @ApidocModelProperty(description = "企业冻结状态，0未冻结 1 冻结")
    private String  enterpriseFreezingStatusStr;

    @ApidocModelProperty(description = "邮箱")
    private String enterpriseEmail;
    @ApidocModelProperty(description = "电话")
    private String enterprisePhone;
    @ApidocModelProperty(description = "开户行")
    private String depositBank;
    @ApidocModelProperty(description = "打款账号")
    private String paymentAccount;
    @ApidocModelProperty(description = "企业logo")
    private String companyLogo;
    @ApidocModelProperty(description = "营业执照")
    private String businessLicense;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "营业执照有效期", validate = "yyyy-MM-dd HH:mm:ss")
    private Date businessLicenseExpireTime;
    @ApidocModelProperty(description = "是否长期有效，1 长期有效，0有效期内有效")
    private Integer businessLicenseLongTime;
    @ApidocModelProperty(description = "企业地址省市")
    private String province;
    @ApidocModelProperty(description = "注册城市")
    private String city;
    @ApidocModelProperty(description = "注册区县")
    private String area;
    @ApidocModelProperty(description = "地区code")
    private String areaId;
    @ApidocModelProperty(description = "审核状态，0审核中，1审核通过，2审核拒绝")
    private Integer approveStatus;

    @ApidocModelProperty(description = "停用状态：0已停用，1：在用")
    private Integer stopStatus;

    @ApidocModelProperty(description = "核心企业上级集团")
    private Integer enterpriseParentId;
    @ApidocModelProperty(description = "1 表示删除，0 表示未删除")
    @TableField(value = "is_deleted", fill = FieldFill.INSERT)
    @TableLogic(value = "0", delval = "1")
    private Integer isDeleted;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "创建时间", validate = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "修改时间", validate = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
    @ApidocModelProperty(description = "创建人id")
    @TableField(value = "creator_id")
    private Integer creatorId;
    @ApidocModelProperty(description = "修改人id")
    @TableField(value = "updater_id")
    private Integer updaterId;
    @ApidocModelProperty(description = "备注")
    private String remark;
    @ApidocModelProperty(description = "企业类型")
    private String enterpriseType;

    @ApidocModelProperty(description = "注册地址")
    private String address;
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @ApidocModelProperty(description = "成立日期", validate = "yyyy-MM-dd")
    private Date incorporationTime;
    @ApidocModelProperty(description = "注册资本，如100万元")
    private String registeredCapital;
    @ApidocModelProperty(description = "企业经营范围")
    private String businessScope;
    @ApidocModelProperty(description = "各分公司样式")
    private String itemStyle;
    @ApidocModelProperty(description = "企业规模")
    private String scale;
    @ApidocModelProperty(description = "传真")
    private String fax;


    @ApidocModelProperty(description = "办公地址")
    private String mailAddress;

    @ApidocModelProperty(description = "管理员委托授权书 文件id")
    private String adminPowerAttorney;

    @ApidocModelProperty(description = "行业 枚举下拉")
    private String industry;

    @ApidocModelProperty(description = "操作按钮集合")
    private List<KeyValue> operateButton;


    public static final String COL_ID = "id";

    public static final String COL_ENTERPRISE_NAME = "enterprise_name";

    public static final String COL_CATEGORY = "category";

    public static final String COL_IS_DELETED = "is_deleted";

    public static final String COL_STOP_STATUS = "stop_status";

    public static final String COL_APPROVE_STATUS = "approve_status";


}
